﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Client.App.Models;
using Core.Mvvm;
using Core.Mvvm.ViewModels;
using Multiprocessing.Core.Algorithm;

namespace Client.App.ViewModels.Interfaces
{
    public interface IAlgorithmsViewModel : INotifyPropertyChanged
    {
        AlgorithmFamily SelectedFamily { get; set; }
        ObservableCollection<AlgorithmFamily> AlgorithmFamilies { get; set; }
        IAlgorithm SelectedAlgorithm { get; set; }
        event EventHandler<ParametrizedEventArgs<IAlgorithm>> ChangeAlgorithm;
    }
}
